#include <iostream>
using namespace std;

//c++语法 c是不支持的
void myPrint(int x = 3){
        cout<<"x: "<<x<<endl;
}
 //1. 若你填写参数，使用你填写的 不填写使用默认的
//2. 在默认参数规则, 如果默认参数出现,那么右边的都必须是默认参数
//void myPrint2(int x = 3, int y = 4, int m){//c++编译器会报错
void myPrint2( int m, int n,int x = 3, int y = 4){
        cout<<"x: "<<x<<endl;
}
int main01(int argc, char const *argv[]){
       
        myPrint(4);
        myPrint();
        return 0;
}

//函数占位参数 函数调用时 必须写够参数
void func1(int a, int b, int){
        cout<<"a "<<a<<" b "<<b<<endl;
}
int main02(int argc, char const *argv[]){
        //func1(1, 2);//c++编译器报错
        func1(1,2,3);
        return 0;
}

//默认参数和占位参数在一起
void func2(int a, int b, int = 2){
        cout<<"a="<<a<<" b="<<b<<endl;
}
int main(int argc, char const *argv[]){
        func2(1, 2);
        func2(1,2,3);
        return 0;
}
